IP to ComputerName

Otázka od: mstevlik@gamo.sk

27. 10. 2004 8:44

Hi all,
Potrebujem si spravit malu app, kt. by mi vedela zistit po zadani IP
adresy aky ComputerName to je.
Bude to skusane len na firemnej lanke a je mi jasne ze nie vzdy to bude
fungovat
Masiny by mali mat nainstalovane od Win98 az po WinXP a Win2000Server
Viete mi pomoct ako na to?

Stevlik Marian
ISYS programator

GAMO a.s.
Kyjevske nam. 6
974 04 Banska Bystrica
mail: mstevlik@gamo.sk
tel: +421 48 4137935, 4372111
ip-tel: 421 48 4372098
mobil: +421 905 462010
ICQ: 38493645

Odpovedá: Milan Tomes

27. 10. 2004 8:56

Pomoci Synapse:

var
  Sock: TBlockSocket;
begin
  Sock := TBlockSocket.Create;
  try
    Result := Sock.ResolveIPToName(AIP);
  finally
    freeAndNil(Sock);
  end;
end;

S pozdravem

Milan Tomes


> [mailto:delphi-l-owner@clexpert.cz]On Behalf Of mstevlik@gamo.sk
> Sent: Wednesday, October 27, 2004 9:44 AM
>
> Potrebujem si spravit malu app, kt. by mi vedela zistit po zadani IP
> adresy aky ComputerName to je.


Odpovedá: Ondrej Kelle

27. 10. 2004 9:06

> Potrebujem si spravit malu app, kt. by mi vedela zistit
> po zadani IP adresy aky ComputerName to je.
> Bude to skusane len na firemnej lanke a je mi jasne ze
> nie vzdy to bude fungovat
> Masiny by mali mat nainstalovane od Win98 az po WinXP a
> Win2000Server
> Viete mi pomoct ako na to?

Na to je funkcia gethostbyaddr. Pozri si napriklad TIpSocket.LookupHostName
v unite Sockets.pas.
Pred volanim WinSock funkcii (kedze pouzivas Windows) je potrebne ich
inicializovat, volanim WSAStartup, a po ukonceni prace uvolnit volanim
WSACleanup. Prislusny kod najdes tiez v unite Sockets.pas, pozri si sekcie
initialization a finalization.

Kazda TCP/IP kniznica urcite obsahuje kod, ktory hladas, takze ho tiez mozes
najst v Indy, ICS alebo Synapse.

HTH
TOndrej